home *** CD-ROM | disk | FTP | other *** search
/ Micromanía 93 / CDMM_93_2.ISO / Project Nomads / nomads_demo_eng.exe / FLAKBUILDING.TCL < prev    next >
Encoding:
Text File  |  2002-04-19  |  5.1 KB  |  190 lines

  1. #
  2. #   Zustands-▄berwachungs-Script
  3. #   State Watch Script
  4. #
  5. #   Flakbuilding
  6. #
  7. #   created:    15-Jun-2000 Bernd
  8. #   updated:    2001-05-14  Sylvius
  9. #               2001-01-07  floh    call "usersymbolicname" on end of "bauphase"
  10. #   
  11. #   (C) COPYRIGHT 2000 RADONLABS GMBH
  12. #
  13.  
  14. proc flakbuildingwatch_normal {} {
  15.  
  16.     # vorerst hier unzerstoerbar. Bleibt so, bis es aufgesammelt
  17.     # (in BackPack) oder gebaut (kein Artefakt mehr) wird 
  18.     if {[.getartefactmode] == "false"} {
  19.         .announcestate house
  20.     } elseif {[.iscollected] == "true"} {
  21.         .announcestate backpack
  22.     } elseif {[.getcharges] <= 0} {
  23.         .setremoveable true
  24.     } elseif {[.getcreator] != "null"} {
  25.         .announcestate infactoryslot
  26.     }
  27. }
  28.  
  29. proc flakbuildingwatch_infactoryslot {} {
  30.  
  31.     # vorerst hier unzerstoerbar. Bleibt so, bis es aufgesammelt
  32.     # (in BackPack) oder gebaut (kein Artefakt mehr) wird 
  33.     if {[.getartefactmode] == "false"} {
  34.         .announcestate house
  35.     } elseif {[.iscollected] == "true"} {
  36.         .announcestate backpack
  37.     } elseif {[.getcharges] <= 0} {
  38.         .setremoveable true
  39.     } elseif {[.getcreator] == "null"} {
  40.         .announcestate normal
  41.     }
  42. }
  43.  
  44. proc flakbuildingwatch_bauphase {} {
  45.  
  46.     # kann zerstoert oder wieder zusammengeklappt werden
  47.     if {[.iskilled] == "true"} {
  48.         .announcestate explode
  49.     } elseif {[.getartefactmode] == "true"} {
  50.         .announcestate normal
  51.     } elseif {[.isstatetimeover] == "true"} {
  52.         .announcestate house
  53.         usersymbolicname playerflak
  54.     }
  55. }
  56.  
  57.  
  58. proc flakbuildingwatch_house {} {
  59.  
  60.     # kann zerstoert oder wieder zusammengeklappt werden
  61.     if {[.iskilled] == "true"} {
  62.         .announcestate explode
  63.     } elseif {[.getartefactmode] == "true"} {
  64.         .announcestate normal
  65.     } elseif {[.isworking] == "true"} {
  66.         .announcestate working
  67.     } elseif {0 >= [[.getclan].getcurrentenergy]} {
  68.         .announcestate outofwork
  69.     } elseif {[.removebuilding] == "true"} {
  70.         .announcestate remove
  71.     } elseif {[.getsleepmode] == "true"} {
  72.         .announcestate offline
  73.     }
  74. }
  75.  
  76. proc flakbuildingwatch_offline {} {
  77.  
  78.     # kann zerstoert oder wieder zusammengeklappt werden
  79.     if {[.iskilled] == "true"} {
  80.         .announcestate explode
  81.     } elseif {[.getartefactmode] == "true"} {
  82.         .announcestate normal
  83.     } elseif {[.getsleepmode] == "false"} {
  84.         .announcestate house
  85.     } elseif {[.removebuilding] == "true"} {
  86.         .announcestate remove
  87.     }
  88. }
  89.  
  90. proc flakbuildingwatch_outofwork {} {
  91.  
  92.     # kann zerstoert oder wieder zusammengeklappt werden
  93.     if {[.iskilled] == "true"} {
  94.         .announcestate explode
  95.     } elseif {[.getartefactmode] == "true"} {
  96.         .announcestate normal
  97.     } elseif {0 < [[.getclan].getcurrentenergy]} {
  98.         .announcestate house
  99.     } elseif {[.removebuilding] == "true"} {
  100.         .announcestate remove
  101.     } elseif {[.getsleepmode] == "true"} {
  102.         .announcestate offline
  103.     }
  104. }
  105.  
  106. proc flakbuildingwatch_working {} {
  107.  
  108.     # kann zerstoert oder wieder zusammengeklappt werden
  109.     if {[.iskilled] == "true"} {
  110.         .announcestate explode
  111.     } elseif {[.getartefactmode] == "true"} {
  112.         .announcestate normal
  113.     } elseif {[.isworking] == "false"} {
  114.         .announcestate house
  115.     } elseif {[.removebuilding] == "true"} {
  116.         .announcestate remove
  117.     } elseif {[.getsleepmode] == "true"} {
  118.         .announcestate offline
  119.     }
  120. }
  121.  
  122. proc flakbuildingwatch_explode {} {
  123.  
  124.     # Uebergang zum Artefakt oder Wegnehmen
  125.     if {[.isanimfinished] == "true"} {
  126.         if {[.getcharges] <= 0.0} {
  127.             .setremoveable true
  128.         } else {
  129.             .announcestate normal
  130.             .removefromisland
  131.         }
  132.     }
  133. }
  134.  
  135. proc flakbuildingwatch_remove {} {
  136.  
  137.     # Uebergang zum Artefakt oder Wegnehmen
  138.     if {[.isanimfinished] == "true"} {
  139.         if {[.getcharges] <= 0.0} {
  140.             .setremoveable true
  141.         } else {
  142.             .announcestate normal
  143.             .removefromisland
  144.         }
  145.     }
  146. }
  147.  
  148. proc flakbuildingwatch_backpack {} {
  149.  
  150.     # Moeglich: usgeworfen (Nicht mehr "gesammelt") oder im
  151.     # Menue gezeigt (sichtbar)
  152.     if {[.iscollected] == "false"} {
  153.         .announcestate normal
  154.     } elseif {[.isvisible] == "true"} {
  155.         .announcestate menue
  156.     }
  157. }
  158.  
  159. proc flakbuildingwatch_menu {} {
  160.  
  161.     if {[.isvisible] == "false"} {
  162.         .announcestate backpack
  163.     } elseif {[.getartefactuse] == "true"} {
  164.         .announcestate build
  165.     } elseif {[.iscollected] == "false"} {
  166.         .announcestate normal
  167.     }
  168. }
  169.  
  170. proc flakbuildingwatch_build {} {
  171.  
  172.     if {[.iskilled] == "true"} {
  173.         .announcestate explode
  174.     } elseif {[.getartefactmode] == "false"} {
  175.         .announcestate bauphase
  176.     } elseif {[.getartefactuse] == "false"} {
  177.         .announcestate backpack
  178.     }
  179. }
  180.  
  181. proc flakbuildingwatch_cinematic {} {
  182.  
  183.     # wir gehen davon aus, dass die Animationen immer im
  184.     # house-Zustand enden...
  185.     if {[.iscinematicfinished] == "true"} {
  186.         .announcestate house
  187.     }
  188. }    
  189.  
  190.